package com.it.boot.config.excel;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import lombok.Data;

import javax.validation.constraints.*;
import java.util.Date;

@Data
public class UserImportVO {

    @NotBlank(message = "用户名不能为空")
    @ExcelProperty("用户名")
    private String username;

    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
    @ExcelProperty("手机号")
    private String phone;

    @Email(message = "邮箱格式不正确")
    @ExcelProperty("邮箱")
    private String email;

    @NotNull(message = "年龄不能为空")
    @Min(value = 18, message = "年龄必须大于18岁")
    @Max(value = 200, message = "年龄不能大于200岁")
    @ExcelProperty("年龄")
    private Integer age;

    // 身份证校验（简单版）
    @Pattern(regexp = "^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[0-9Xx]$",
            message = "身份证格式不正确")
    @ExcelProperty("身份证号")
    private String idCard;

    @DateTimeFormat("yyyy-MM-dd")
    @ExcelProperty("入职日期")
    private Date hireDate;

    @ExcelProperty("备注")
    @Size(max = 200, message = "备注长度不能超过200个字符")
    private String remark;

    // 错误信息（非Excel字段）
    private String errorMsg;
}